ILLUMINATI - FOR 8K (OR MORE) VIC-20
(Part IV of The Illuminati Project)
by Jim Waterman, 20 April - 13 May 2022
v1.1 update - 22 May 2022
=======================================


Context
-------

In the beginning, "the most ludicrous year" of 2020, there was the original Illuminati game, sent to John Connolly's 2020 comp.sys.sinclair Crap Games Competition, as the only ZX81 entry for that year. It was, as I like to do, "a ludicrously over-polished game" (by ZX81 CSSCGC standards, anyway). For the most part, it was a vehicle to show off that my first steps in rudimentary Z80 machine code could also be replicated on the ZX81 where I didn't have the luxury of a built-in assembler (at least, I hadn't discovered JSZeddy at the time!).

During my tenure of the 2021 CSSCGC, I couldn't enter my own competition, so the Spectrum conversion was sent to Dave Hughes for his WOOT! Tape Magazine at the end of the year. The idea was to enhance the game with COLOUR! and SOUND! - but also to fit it into the 16K model. Given that the program for the 16K ZX81 was around 9K, and the 16K Spectrum has less than that available because the screen takes up 6,912 bytes instead of 792, it needed a lot more to be done in machine code (including sounds that were pilfered from games and magazine listings of 1983...) *and* a load of VALs and NOT/SGN/INT PIs - just like 1K ZX81 programmers had to do - to make it fit.

Come 2022, I could enter the CSSCGC again, this time with Andy Jenkinson as host. He'd get the all-singing-all-dancing QL version, with much-enhanced graphics at the expense of miserable sound. Though it was entirely possible to write the Illuminati's Top-Secret Calculation Formula in a custom SuperBASIC function (which I did, initially), in a further callback to the original game, this function was rewritten in 68008 machine code. It was my first attempt at that, and it worked without too much fuss.

And then, I thought I'd convert it for as many other 1980s computers as possible. The Amstrad CPC, MSX or any other Z80-based machine would have been easy enough... but I thought I'd take the harder route, that of the Commodore machines, with their 6502 processors and *another* new set of instructions to learn. I'd developed a strange fondness for the VIC-20 - in that, in a parallel reality, that would have been my first computer instead of the ZX81 - so it got the nod for my first foray outside the Sinclair world.


Loading instructions (for those who need them)
----------------------------------------------

This game uses user-defined graphics which are a bit finnicky on the VIC-20, which require the BASIC to be moved out of its default position. After some help on the Lemon64 forums, "itsP" came up with the goods, though I'd also give credit to "TomToad" and "dabone" for some valiant attempt to get the VIC-20 to do what I wanted it to do without jamming the CPU.

For the disc version, insert it into drive 8 and type LOAD"*",8 then ENTER, and RUN at the READY prompt. Or you could type LOAD"*",8: (with the colon) and press SHIFT+RUN/STOP (on a real machine, at least - RUN/STOP is ESC on a PC keyboard if you're using VICE 3.3m like I am).

For the tape version, you'll need to move the start of BASIC manually. Use the following commands:
POKE44,28:POKE7168,0:NEW
LOAD"" (and ENTER).


The ludicrous backstory (mostly copied from the ZX81 original)
--------------------------------------------------------------

Ludicrous backstories were a feature of my 2020 CSSCGC games - but given that this one involves the Illuminati, there's no pressing need. You can believe in this cabal of very powerful elites manipulating the leaders of the world like puppets on strings, or not - the choice is yours. It is said that behind every conspiracy theory there is a seed of truth just waiting to be discovered (or an outright Spoiler Alert), but it's very hard not to be distracted from finding that truth when, for instance, David Icke mentions shape-shifting lizards, or Alex Jones starts shouting so furiously that his head looks like it'll explode.

But anyway, the story is - the Illuminati are about to take over the world, and you have to stop them. (Paul Joseph Watson interjects here, to say "Well, imagine my shock!" the way he does. And he would be right do so at this point, because who didn't see that coming?) The Illuminati's Top Secret Pyramid has a combination lock which requires the input of three bytes of code in hexadecimal format - with a total of 16,777,215 possible combinations. Unfortunately, for them at least, they put a complete brainlet in charge of writing the code to secure the lock - who has only just read about it in a book that's nearly 40 years out of date. The Illuminati, of course, are not technically-minded so they have absolutely no idea about this, and they're far too busy plotting what they're going to do once they get hold of China's even-more-top-secret virus research labs (as if what we're STILL all being put through AFTER TWO YEARS isn't enough).

Input the three hex codes into the pyramid, and they will propagate upwards according to a secret code known only to the Programmer... and anyone else who knows how to disassemble 107 bytes of 6502 machine code. Once the codes reach the top of the pyramid, if the final hex byte matches the one displayed above the Evil Eye, the lock will open, and the Illuminati will be destroyed - somehow, say, a bomb goes off in their headquarters, or the virus they're going to unleash turns out to be specifically targeted at themselves. (Or you make up your own story, it's not as if anyone's going to believe it anyway.) Either way, humanity is saved, and the people across the world danced and skipped in the street with delight, and feasted on steamed hams, and fruit bats, and breakfast cereals, and Pan-Galactic Gargle Blasters, and... so on, and so on, you get the idea by now. Look, I didn't say it had to make sense, did I?

The Illuminati's security is so weak that only 64 out of the possible 256 bytes will ever result from any of the 16,777,215 hex combinations. You only have 16 attempts to match the code, and it changes every time you try... but this does at least mean you have a 1 in 4 chance of cracking the code overall.

If this all sounds absolutely window-licking mental, it's because it is. November 2020, when the original ZX81 version was written, was near the end of a second entire month confined to my house (i.e. never venturing more than about five metres beyond my front door, just to put the bins out - April 2020 was the first); a third followed (January 2021), and I get the distinct impression that I am not going to live to see the end of this hideous mess. This has had absolutely no detrimental effects at all. Was that sarcasm? You decide.


Extra bonus endorsement
-----------------------

Those who want a game all about the Illuminati and weird conspiracy theories THAT'S ACTUALLY GOOD would do well to equip yourselves with a copy of Doom II, a suitable modern source port (GZDoom is the one I use), and the excellent megawad "Ancient Aliens". Points to mention are:
(1) It is very hard - you *will* get mashed to a pulp, very regularly, if you play on Ultra-Violence;
(2) It is very colourful - it has a completely different palette to regular Doom wads, with bright neon lights everywhere and a lot of blue and magenta welded together;
(3) It sounds *brilliant*, as every backing track was composed by Stuart Rynn, the Doom world's answer to Henri Sorvali;
(4) I'm not saying it was made by aliens... but it was aliens.

A second wad, Final Doomer, will add the choice of weapons appropriate to various custom megawads, and Ancient Aliens is included. Add this on top for twice the experience!

Ancient Aliens deservedly won a Cacoward in 2016. Get it NOW!
https://doomwiki.org/wiki/Ancient_Aliens
https://www.doomworld.com/idgames/levels/doom2/Ports/megawads/aaliens
